<?php
//命名空间就是包，用来存放项目中的类，函数，常量
// namespace AA;
// function add(){
//     echo "jf";
// }
// namespace B;
// function add(){
//     echo "两个数";
// }
// namespace bb;
// function add(){
//     echo "三个数相加";
// }

//  \AA\add();
//  \b\add(); // "\"表示公开空间



//多级命名空间  命名空间的名字可以是多级的（子级命名空间）
// namespace AA\bb\cc;
// function say(){
//     echo "中文";
// }

// class Student{
//     public $name;
// }


// namespace AA\bb\dd;
// function say(){
//     echo "de文";
// }
// class Student{
//     public $age;
// }

// namespace AA\bb;
// function say(){
//     echo "英文";
// }
// class Student{
//     public $age;
// }

// \AA\bb\cc\say();
// $stu=new Student();
// var_dump($stu);

// //访问空间元素的三种方法
// //1.完全限定名称访问
// \AA\bb\cc\say();
// //2.非限定名称访问
// say();
//3.限定名称访问
// dd\say();   //\AA\bb\dd 命名空间
// cc\say();   //\AA\bb\cc 命名空间

//引入命名空间
//完全限定名称访问元素路径太长，可以将其他的空间引入到当前空间来

namespace AA\bb\cc;
function say(){
    echo "中文";
}

class Student{
    public $name;
}


namespace AA\bb\dd;
function say(){
    echo "de文";
}
class Student{
    public $age;
}
class Car{
    public $name;
}
namespace AA\bb;
function say1(){
    echo "英文";
}

//use引入命名空间
// use AA\bb\dd\Student;
// $stu=new Student();
// var_dump($stu);
// use function AA\bb\dd\say;
// say();
//如果引入的类和函数与当前空间的类和函数名称相同，需要给引入的类和函数取别名  as
use function AA\bb\dd\say as speek;
speek();


















?>